100 REM ****************************** 110 REM *** *** 120 REM *** FOOTBALL84 *** 130 REM *** WRITTEN BY: LES SUMI *** 140 REM *** 16 JANUARY 1984 *** 150 REM *** *** 160 REM ****************************** 170 REM 180 REM 185 CLR 190 DIM S(2),STR(2,5),N$(2),L$(12),Q(2),SC(2),D$(8),T1(2),TP(2) 200 GOSUB 6190 210 D$(1)="STANDARD DEFENCE": D$(2)="SHORT YARDAGE DEFENCE" 220 D$(3)="'NICKEL' DEFENCE": D$(4)="'PREVENT' DEFENCE" 230 D$(5)="PARTIAL BLITZ": D$(6)="ALL-OUT BLITZ" 240 D$(7)="TIMEOUT": D$(8)="STATUS" 250 FOR I=1 TO 2 260 F1(I)=0: R1(I)=0: P1(I)=0: NY1(I)=0: P2(I)=0: P3(I)=0: I1(I)=0: PA(I)=0 270 PC(I)=0:SC(I)=0:T1(I)=3:P4(I)=0:P5(I)=0:F2(I)=0:F3(I)=0:QQ(I)=0:NEXTI 280 Q=1: QQ=0: E=0: HT=0: T=0: W=0: WW=0: OT=0: TP(1)=0: TP(2)=0 290 REM CHOOSE TEAM NAMES 300 PRINT"[147]":PRINT:PRINTTAB(11);"*** FOOTBALL84 ***" 310 PRINT"CHOOSE TEAM NAMES[146]" 320 PRINT:PRINT"YOUR TEAM NAME"; 330 INPUT N$(1) 340 IF LEN(N$(1))<12 THEN 360 350 PRINT"ONLY 12 CHARACTERS.....TRY AGAIN":PRINT: GOTO 320 360 PRINT:PRINT:PRINT:PRINT 370 PRINT"COMPUTER TEAM NAME"; 380 INPUT N$(2) 390 IF LEN(N$(2))<12 THEN 410 400 PRINT"ONLY 12 CHARACTERS.....TRY AGAIN":PRINT: GOTO 370 410 PRINT 420 REM CHOOSE LEVEL OF DIFFICULTY (WIMP FACTOR) 430 PRINT"[147]CHOOSE LEVEL OF DIFFICULTY:[146]" 440 PRINT" (WIMP FACTOR) [146]":PRINT:PRINT:PRINT 450 PRINT" IMPY - WHEN YOU LOOK UP 'WIMP' IN" 460 PRINT" THE DICTIONARY, YOU SEE" 470 PRINT" YOUR REFLECTION!!":PRINT 480 PRINT" ASY - YOUR IDEA OF A CHALLENGE" 490 PRINT" IS TO OPEN A BOX OF" 500 PRINT" CORNFLAKES WITHOUT READING" 510 PRINT" THE INSTRUCTIONS!!":PRINT 520 PRINT" EDIUM - YOU HAVE THE HEART OF A" 530 PRINT" LION BUT FEET OF CLAY!!":PRINT 540 PRINT" ARD - YOU HAVE MORE COURAGE" 550 PRINT" THAN BRAINS!!":PRINT 560 INPUT L$ 570 IF L$="W" THEN WF=-1.4: GOTO 620 580 IF L$="E" THEN WF=-0.5: GOTO 620 590 IF L$="M" THEN WF=-0.2: GOTO 690 600 IF L$="H" THEN WF=1.1: GOTO 690 610 PRINT:PRINT"INVALID INPUT...TRY AGAIN":PRINT:GOTO 560 620 PRINT"[147]" 630 PRINTTAB(10);"    [223][169]  [223][146]" 640 PRINTTAB(10);"        [146]" 650 PRINTTAB(10);"       [146][169]" 660 PRINTTAB(10);" [169][223]      [146]" 670 PRINTTAB(10);"[223] [146][169][223] [146][169]     [146]" 680 GOSUB 6280 690 REM CHOOSE TEAM STRENGTHS 700 PRINT"[147]":PRINT"CHOOSE TEAM STRENGTHS[146] (SUM MUST BE TEN)":PRINT:PRINT 710 L$(1)="RUSHING OFFENCE": L$(2)="PASSING OFFENCE": L$(3)="RUSHING DEFENCE" 720 L$(4)="PASSING DEFENCE": L$(5)="SPECIAL TEAMS " 730 FOR I=1 TO 2 740 FOR K=1 TO 5: STR(I,K)=0: NEXT K: NEXT I 750 PRINT"";N$(1);"" 760 TQ=0 770 FOR K=1 TO 5 780 PRINTL$(K); 790 INPUT STR(1,K): STR(1,K)=ABS(STR(1,K)) 800 TQ=TQ+STR(1,K) 810 NEXT K 820 PRINT"TOTAL: ";TQ:PRINT: GOSUB 6270 830 IF TQ<=10 THEN 870 840 PRINT"TOTAL GREATER THAN TEN.....ARE YOU" 850 PRINT"TRYING TO CHEAT OR CAN'T YOU COUNT?" 860 PRINT"TRY AGAIN": GOSUB 6270: GOTO 750 870 PRINT"VERIFY SELECTIONS[146]": PRINT:PRINT 880 PRINT"DO YOU WISH TO CHANGE YOUR MIND"; 890 INPUT CHECK$ 900 IF LEFT$(CHECK$,1)="Y" THEN 750 910 FOR K=1 TO 5 920 IF STR(1,K)>4+WF THEN STR(1,K)=3.5 930 NEXT K 940 PRINT 950 PRINT"COMPUTER SELECTS ";N$(2) 960 PRINT"TEAM STRENGTHS...": GOSUB 6270 970 TQ=0 980 FOR K=2 TO 5 990 STR(2,K)=INT(4*RND(.)) 1000 TQ=TQ+STR(2,K) 1010 NEXT K 1020 IF TQ<6 OR TQ>9 THEN 970 1030 STR(2,1)=10-TQ 1040 REM COIN TOSS 1050 PRINT"[147]COIN TOSS[146]":PRINT:PRINT 1060 ZZ=INT(RND(.)*2)+1 1070 ON ZZ GOTO 1160,1080 1080 S=STR(2,3)+STR(2,4)-STR(2,1)-STR(2,2) 1090 IF S>0 AND RND(.)<0.5 THEN 1130 1100 PRINT N$(ZZ);" WON THE TOSS AND ELECTS" 1110 PRINT" TO RECEIVE": QB=2: MLB=1 1120 GOTO 1240 1130 PRINT N$(ZZ);" WON THE TOSS AND ELECTS" 1140 PRINT " TO KICKOFF": QB=1: MLB=2 1150 GOTO 1240 1160 PRINT N$(ZZ);" WON THE TOSS" 1170 PRINT"WILL YOU ICK OR ECEIVE"; 1180 INPUT G$ 1190 IF LEFT$(G$,1)<>"K" AND LEFT$(G$,1)<>"R" THEN 1170 1200 IF LEFT$(G$,1)="K" THEN 1230 1210 QB=1: MLB=2 1220 GOTO 1240 1230 QB=2: MLB=1 1240 IF QB=1 THEN SX=2 1250 IF QB=2 THEN SX=1 1260 REM KICKOFF 1270 IF OT=1 AND SC(1)<>SC(2) THEN 8890 1280 DOWN=1: PRINT:PRINT:PRINT" *** KICKOFF ***":PRINT 1290 IF QB=2 THEN 1320 1300 IF T>55 AND (SC(1)-SC(2))>0 THEN OS$="Y": GOTO 1340 1310 GOTO 1350 1320 PRINT"ON-SIDE KICK"; 1330 INPUT OS$ 1340 IF LEFT$(OS$,1)="Y" THEN 1680 1350 KL=45+INT(26*RND(.)+STR(MLB,5)) 1360 PRINT KL;" YARD KICKOFF..." 1370 YL=65-KL 1380 IF YL<-10 THEN 1580 1390 IF YL<0 THEN 1470 1400 PRINT"BALL IS ON ";YL;" YARDLINE." 1410 IF RND(.)>0.94 THEN 1610 1420 RL=INT(18*RND(.)+18*RND(.)+STR(QB,5)) 1430 YL=YL+RL 1440 IF YL<0 THEN 1580 1450 PRINTRL;" YARD RETURN." 1460 GOTO 1650 1470 PRINT"BALL IS ";ABS(YL);" YARDS DEEP" 1480 PRINT"IN THE ENDZONE." 1490 IF QB=1 THEN 1530 1500 PRINTN$(2);" ELECTS TO DOWN THE BALL IN" 1510 PRINT"THE ENDZONE..."; 1520 GOTO 1580 1530 PRINT"DO YOU WANT TO BRING IT OUT"; 1540 INPUT R$ 1550 IF LEFT$(R$,1)="N" THEN 1580 1560 GOTO 1410 1570 PRINT"KICK RETURNER TACKLED IN ENDZONE" 1580 PRINT"TOUCHBACK." 1590 YL=20 1600 GOTO 1650 1610 RL=INT(100*RND(.))+10 1620 YL=YL+RL 1630 IF YL>99 THEN 7510: GOTO 1270 1640 PRINTRL;" YARD RETURN." 1650 Y=YL: A=QB: IF YL>50 THEN A=MLB: Y=100-YL 1660 GOTO 1770 1670 PRINT"BALL IS ON";N$(A);Y;"YARDLINE.": GOTO 1770 1680 IF RND(.)<0.75 THEN 1720 1690 PRINT"ON-SIDE KICK SUCCESSFUL." 1700 W=QB: QB=MLB: MLB=W: YL=55-INT(9*RND(.)): GOTO 1650 1710 GOTO 1770 1720 PRINT"ON-SIDE KICK NOT SUCCESSFUL." 1730 YL=55-INT(9*RND(.)) 1740 GOTO 1650 1750 RETURN 1760 REM SELECT OFFENSIVE PLAY 1770 DOWN=1: YFIRST=10 1780 PRINT:PRINT"FIRST DOWN ";N$(QB);"." 1790 PRINT"BALL ON ";N$(A);Y;" YARDLINE." 1800 ZZ=TI 1810 IF QB=2 THEN 9510 1820 PRINT:PRINT"SELECT OFFENSIVE PLAY"; 1830 INPUT OP 1840 IF (TI-ZZ)<1800 THEN 1890 1850 PRINT:PRINT"DELAY OF GAME PENALTY ON ";N$(QB);"!!" 1860 YL=YL-5: YFIRST=YFIRST+5: P2(QB)=P2(QB)+1: P3(QB)=P3(QB)+5 1870 IF YL-5<1 THEN YL=INT(YL/2) 1880 GOTO 6020 1890 OP=INT(OP) 1900 IF OP>0 AND OP<15 THEN 2070 1910 PRINT:PRINT"OFFENSIVE PLAYS:[146]":PRINT 1920 PRINT"1. LINE PLUNGE" 1930 PRINT"2. TRAP PLAY" 1940 PRINT"3. POWER SWEEP" 1950 PRINT"4. DRAW PLAY" 1960 PRINT"5. SCREEN PASS" 1970 PRINT"6. SHORT PASS" 1980 PRINT"7. MEDIUM PASS" 1990 PRINT"8. LONG PASS" 2000 PRINT"9. SIDELINE PASS" 2010 PRINT"10. PUNT" 2020 PRINT"11. FIELD GOAL" 2030 PRINT"12. STATUS" 2040 PRINT"13. TIMEOUT" 2050 PRINT"14. QUIT" 2060 GOTO 1800 2070 REM SELECT DEFENSIVE PLAY 2080 IF OP>9 THEN 2210 2090 IF MLB=2 THEN 10060 2100 PRINT:PRINT"SELECT DEFENSIVE PLAY"; 2110 INPUT DP 2120 DP=INT(DP) 2130 IF DP>0 AND DP<9 THEN 2190 2140 PRINT:PRINT"DEFENSIVE PLAY:[146]":PRINT 2150 FOR I=1 TO 8 2160 PRINT I;". ";D$(I) 2170 NEXT I 2180 GOTO 2100 2190 IF DP=7 THEN 6800 2200 IF DP=8 THEN GOSUB 7620: GOTO 2070 2210 IF OP=14 THEN 7920 2220 ON OP GOTO2230,2560,2900,3210,3570,3910,4390,4860,5320,5380,5570,7620,6800 2230 REM 1. LINE PLUNGE 2240 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0 2250 PRINT:PRINT"LINE PLUNGE..." 2260 PRINT" ";D$(DP);"..." 2270 IF RND(.)<0.02 THEN FUMB=1 2280 IF RND(.)<0.05 THEN PENALTY=1 2290 GOSUB 9460 2300 IF RND(.)<0.04 THEN 2330 2310 GAIN=3*(STR(QB,1)-STR(MLB,3))+4*RND(.) 2320 GAIN=INT(GAIN): GOTO 2350 2330 GAIN=30*RND(.)+20*(STR(QB,1)-STR(MLB,3)) 2340 GAIN=INT(GAIN) 2350 ON DP GOTO 2360,2370,2400,2420,2430,2460 2360 GOTO 2490 2370 IF RND(.)<0.02 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2490 2380 IF RND(.)<0.20 THEN GAIN=INT(-4*RND(.)): GOTO 2490 2390 GAIN=GAIN-1: GOTO 2490 2400 IF RND(.)<0.5 THEN 2490 2410 GAIN=GAIN+INT(5*RND(.)): GOTO 2490 2420 IF RND(.)<0.5 THEN 2490 2430 IF RND(.)<0.20 THEN GAIN=INT(-4*RND(1)): GOTO 2490 2440 IF RND(.)<0.3 THEN GAIN=GAIN+INT(30*RND(.)): GOTO 2490 2450 GOTO 2490 2460 IF RND(.)<0.30 THEN GAIN=INT(-4*RND(.)): GOTO 2490 2470 IF RND(.)<0.5 THEN GAIN=GAIN+INT(40*RND(.)) 2480 IF YL+GAIN>99 THEN 7510 2490 IF GAIN<0 THEN GOSUB 6940 2500 IF GAIN=0 THEN GOSUB 6960 2510 IF GAIN>0 THEN GOSUB 6980 2520 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850 2530 IF PENALTY<>1 THEN 2550 2540 PRINT"...BUT THERE'S A PENALTY ON THE PLAY": PENALTY=0: GOSUB 7010 2550 GOTO 5850 2560 REM 2. TRAP PLAY 2570 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0 2580 PRINT:PRINT"TRAP PLAY..." 2590 PRINT" ";D$(DP);"..." 2600 R=STR(QB,1)-STR(MLB,3) 2610 IF RND(.)<0.055 THEN PEN=1 2620 IF RND(.)<0.05 THEN FUMB=1 2630 GOSUB 9460 2640 IF RND(.)<0.15 THEN 2660 2650 GAIN=INT(4*RND(.)+5*R): GOTO 2670 2660 GAIN=INT(50*RND(.)) 2670 ON DP GOTO 2680,2690,2720,2740,2760,2790 2680 GOTO 2830 2690 IF RND(.)<0.03 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2830 2700 IF RND(.)<0.5 THEN GAIN=INT(-4*RND(.)): GOTO 2830 2710 GAIN=GAIN-1: GOTO 2830 2720 IF RND(.)<0.2 AND D>0 THEN GAIN=GAIN+INT(30*RND(.)): GOTO 2830 2730 GAIN=GAIN+INT(5*RND(.)): GOTO 2830 2740 IF RND(.)<0.3 AND R>0 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2830 2750 GAIN=GAIN+INT(10*RND(1)): GOTO 2830 2760 IF RND(.)<0.3 THEN GAIN=INT(-5*RND(.)): GOTO 2830 2770 IF RND(.)<0.5 THEN 2830 2780 GAIN=GAIN+INT(40*RND(.)): GOTO 2830 2790 IF RND(.)<0.6 THEN GAIN=INT(-5*RND(1)): GOTO 2830 2800 IF RND(.)<0.5 THEN 2830 2810 GAIN=GAIN+INT(40*RND(.)) 2820 IF YL+GAIN>99 THEN 7510 2830 IF GAIN<0 THEN GOSUB 6940 2840 IF GAIN=0 THEN GOSUB 6960 2850 IF GAIN>0 THEN GOSUB 6980 2860 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850 2870 IF PENALTY<>1 THEN 2890 2880 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010 2890 GOTO 5850 2900 REM 3. POWER SWEEP 2910 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0 2920 PRINT:PRINT"POWER SWEEP..." 2930 PRINT" ";D$(DP);"..." 2940 R=STR(QB,1)-STR(MLB,3) 2950 IF RND(.)<0.1 THEN PEN=1 2960 IF RND(.)<0.07 THEN FUMB=1 2970 GOSUB 9460 2980 IF RND(.)<0.2 AND R>0 THEN 3000 2990 GAIN=INT(2*RND(.)+10*RND(.)*R): GOTO 3010 3000 GAIN=INT(40*RND(.)) 3010 ON DP GOTO 3020,3030,3050,3070,3080,3110 3020 GOTO 3140 3030 IF RND(.)<0.1 AND R>0 THEN GAIN=INT(50*RND(.)): GOTO 3140 3040 GAIN=GAIN-INT(3*RND(.)): GOTO 3140 3050 IF RND(.)<0.5 THEN 3140 3060 GAIN=GAIN+INT(5*RND(.)): GOTO 3140 3070 GAIN=GAIN+INT(20*RND(.)): GOTO 3140 3080 IF RND(.)<0.4 THEN GAIN=INT(-8*RND(1)): GOTO 3140 3090 IF RND(.)<0.7 THEN 3140 3100 GAIN=GAIN+INT(40*RND(.)): GOTO 3140 3110 IF RND(.)<0.6 THEN GAIN=INT(-10*RND(.)): GOTO 3140 3120 IF RND(.)<0.7 THEN GAIN=GAIN+INT(30*RND(.)) 3130 IF YL+GAIN>99 THEN 7510 3140 IF GAIN<0 THEN GOSUB 6940 3150 IF GAIN=0 THEN GOSUB 6960 3160 IF GAIN>0 THEN GOSUB 6980 3170 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850 3180 IF PENALTY<>1 THEN 3200 3190 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010 3200 GOTO 5850 3210 REM 4. DRAW PLAY 3220 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0 3230 PRINT:PRINT"DRAW PLAY..." 3240 PRINT" ";D$(DP);"..." 3250 RP=STR(QB,1)+STR(QB,2)-STR(MLB,3)-STR(MLB,4) 3260 IF RND(.)<0.075 THEN PENALTY=1 3270 IF RND(.)<0.05 THEN FUMB=1 3280 GOSUB 9460 3290 IF RND(.)<0.1 THEN 3330 3300 GAIN=INT(10*RND(.)*RP) 3310 IF GAIN=0 THEN GAIN=INT(5*RND(.))-2 3320 GOTO 3340 3330 GAIN=INT(40*RND(.)) 3340 ON DP GOTO 3350,3360,3380,3410,3430,3460 3350 GOTO 3500 3360 IF RND(.)<0.05 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 3500 3370 GAIN=GAIN+INT(-10*RND(.)): GOTO 3500 3380 IF RND(.)<0.5 THEN GAIN=GAIN+INT(10*RND(.)): GOTO 3500 3390 IF RND(.)<0.15 THEN GAIN=INT(20*RND(.)): GOTO 3500 3400 GOTO 3500 3410 IF RND(.)<0.6 THEN GAIN=GAIN+INT(15*RND(.)): GOTO 3500 3420 GAIN=GAIN+INT(4*RND(.)): GOTO 3500 3430 IF RND(.)<0.5 THEN GAIN=INT(-9*RND(1)): GOTO 3500 3440 IF RND(.)<0.5 THEN GAIN=GAIN+INT(25*RND(.)): GOTO 3500 3450 GOTO 3500 3460 IF RND(.)<0.65 THEN GAIN=INT(-9*RND(.)): GOTO 3500 3470 IF RND(.)<0.65 THEN 3500 3480 GAIN=GAIN+INT(35*RND(.)) 3490 IF YL+GAIN>99 THEN 7510 3500 IF GAIN<0 THEN GOSUB 6940 3510 IF GAIN=0 THEN GOSUB 6960 3520 IF GAIN>0 THEN GOSUB 6980 3530 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850 3540 IF PENALTY<>1 THEN 3560 3550 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010 3560 GOTO 5850 3570 REM 5. SCREEN PASS 3580 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0 3590 PRINT:PRINT"SCREEN PASS..." 3600 PRINT" ";D$(DP);"..." 3610 P=STR(QB,2)-STR(MLB,4) 3620 IF RND(.)<0.035 THEN PEN=1 3630 GOSUB 9460 3640 IF RND(.)<0.05 THEN ICEPT=1 3650 IF RND(.)<0.70 THEN COMP=1 3660 IF COMP=1 THEN GAIN=INT(10*RND(.)+10*RND(.)*P) 3670 ON DP GOTO 3680,3690,3720,3740,3760,3790 3680 GOTO 3820 3690 COMP=0: IF RND(.)<0.35 THEN COMP=1 3700 IF COMP=1 THEN GAIN=INT(10*RND(.)*P) 3710 GOTO 3820 3720 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(12*RND(.)) 3730 GOTO 3820 3740 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(20*RND(.)) 3750 GOTO 3820 3760 IF RND(.)<0.4 AND COMP=1 THEN GAIN=GAIN-INT(10*RND(.)) 3770 IF RND(.)<0.4 AND COMP=1 THEN GAIN=GAIN+INT(30*RND(.)) 3780 GOTO 3820 3790 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN-INT(10*RND(.)) 3800 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(40*RND(.)) 3810 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900 3820 IF COMP=1 THEN GOSUB 7490 3830 IF COMP<>1 THEN GOSUB 7500: GAIN=0 3840 IF YL+GAIN>99 THEN 7510 3850 IF GAIN<0 THEN GOSUB 6940 3860 IF GAIN=0 THEN GOSUB 6960 3870 IF GAIN>0 THEN GOSUB 6980 3880 IF PENALTY<>1 THEN 3900 3890 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010 3900 GOTO 5850 3910 REM 6. SHORT PASS 3920 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0 3930 IF OP=9 THEN 3950 3940 PRINT:PRINT"SHORT PASS..." 3950 PRINT" ";D$(DP);"..." 3960 P=STR(QB,2)-STR(QB,4) 3970 IF RND(.)<0.05 THEN PEN=1 3980 IF RND(.)<0.04 THEN PI=1 3990 IF RND(.)<0.67 THEN COMP=1 4000 IF RND(.)<0.2 AND P<0 THEN COMP=0 4010 IF COMP=1 THEN GAIN=INT(15*RND(0)) 4020 ON DP GOTO 4030,4050,4090,4120,4160,4210 4030 IF RND(.)<0.05 THEN HOLD=1: GOTO 4250 4040 GOTO 4250 4050 IF RND(.)<0.05 THEN HOLD=1 4060 IF RND(.)<0.05 THEN ICEPT=1 4070 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*INT(0)) 4080 GOTO 4250 4090 IF RND(.)<0.3 THEN COMP=0: GAIN=0 4100 IF RND(.)<0.05 THEN HOLD=1 4110 GOTO 4250 4120 IF RND(.)<0.025 THEN HOLD=1 4130 IF COMP=0 AND RND(.)<0.5 THEN COMP=1 4140 IF COMP=1 THEN GAIN=INT(15*RND(0)) 4150 GOTO 4250 4160 IF RND(.)<0.085 THEN HOLD=1 4170 IF RND(.)<0.2 THEN ICEPT=1 4180 IF RND(.)<0.2 THEN SACK=1 4190 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 4200 GOTO 4250 4210 IF RND(.)<0.085 THEN HOLD=1 4220 IF RND(.)<0.2 THEN ICEPT=1 4230 IF RND(.)<0.35 THEN SACK=1 4240 IF RND(.)<0.25 AND COMP=1 THEN GAIN=GAIN+INT(40*RND(.)) 4250 GOSUB 9460 4260 IF SACK=1 THEN GOSUB 7440: GOTO 4320 4270 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900 4280 IF COMP=1 THEN GOSUB 7490 4290 IF COMP<>1 THEN GOSUB 7500: GAIN=0 4300 IF PI=1 THEN GOSUB 6540: GOTO 5850 4310 IF YL+GAIN>99 THEN 7510 4320 IF GAIN<0 THEN GOSUB 6940 4330 IF GAIN=0 THEN GOSUB 6960 4340 IF GAIN>0 THEN GOSUB 6980 4350 IF HOLD=1 THEN GOSUB 7040: PENALTY=0 4360 IF PENALTY<>1 THEN 4380 4370 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010 4380 GOTO 5850 4390 REM 7. MEDIUM PASS 4400 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0 4410 IF OP=9 THEN 4430 4420 PRINT:PRINT"MEDIUM PASS..." 4430 PRINT" ";D$(DP);"..." 4440 P=STR(QB,2)-STR(MLB,4) 4450 IF RND(.)<0.05 THEN PEN=1 4460 IF RND(.)<0.04 THEN PI=1 4470 IF RND(.)<0.5 THEN COMP=1 4480 IF RND(.)<0.2 AND P<0 THEN COMP=0 4490 IF COMP=1 THEN GAIN=INT(30*RND(.)+5) 4500 ON DP GOTO 4510,4530,4560,4590,4620,4670 4510 IF RND(0)<0.075 THEN HOLD=1 4520 GOTO 4710 4530 IF RND(.)<0.075 THEN HOLD=1 4540 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 4550 GOTO 4710 4560 IF RND(.)<0.3 THEN COMP=0 4570 IF RND(.)<0.075 THEN HOLD=1 4580 GOTO 4710 4590 IF RND(.)<0.3 THEN COMP=0 4600 IF RND(.)<0.035 THEN HOLD=1 4610 GOTO 4710 4620 IF RND(.)<0.11 THEN HOLD=1 4630 IF RND(.)<0.1 THEN ICEPT=1 4640 IF RND(.)<0.2 THEN SACK=1 4650 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 4660 GOTO 4710 4670 IF RND(.)<0.125 THEN HOLD=1 4680 IF RND(0)<0.1 THEN ICEPT=1 4690 IF RND(.)<0.3 THEN SACK=1 4700 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 4710 GOSUB 9460 4720 IF SACK=1 THEN GOSUB 7440: GOTO 4780 4730 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900 4740 IF COMP=1 THEN GOSUB 7490 4750 IF COMP<>1 THEN GOSUB 7500: GAIN=0 4760 IF PI=1 THEN GOSUB 6540: GOTO 5850 4770 IF YL+GAIN>99 THEN 7510 4780 IF GAIN<0 THEN GOSUB 6940 4790 IF GAIN=0 THEN GOSUB 6960 4800 IF GAIN>0 THEN GOSUB 6980 4810 IF PENALTY<>1 AND HOLD<>1 THEN 4850 4820 PRINT"...BUT THERE'S A PENALTY ON THE PLAY." 4830 IF HOLD=1 THEN GOSUB 7040: PENALTY=0 4840 IF PENALTY=1 THEN GOSUB 7010 4850 GOTO 5850 4860 REM 8. LONG PASS 4870 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0 4880 PRINT:PRINT"LONG PASS..." 4890 PRINT" ";D$(DP);"..." 4900 IF RND(.)<0.05 THEN PENALTY=1 4910 IF RND(.)<0.05 THEN PI=1 4920 IF RND(.)<0.33 THEN COMP=1 4930 IF COMP=1 THEN GAIN=15+INT(45*RND(.)) 4940 ON DP GOTO 4950,4970,5000,5030,5070,5120 4950 IF RND(.)<0.1 THEN HOLD=1 4960 GOTO 5160 4970 IF RND(.)<0.1 THEN HOLD=1 4980 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 4990 GOTO 5160 5000 IF RND(.)<0.3 THEN COMP=0 5010 IF RND(.)<0.05 THEN HOLD=1 5020 GOTO 5160 5030 IF RND(.)<0.075 THEN HOLD=1 5040 IF RND(.)<0.5 THEN COMP=0 5050 IF COMP=1 AND RND(.)<0.5 THEN GAIN=GAIN+INT(25*RND(.)) 5060 GOTO 5160 5070 IF RND(.)<0.1 THEN HOLD=1 5080 IF RND(.)<0.1 THEN ICEPT=1 5090 IF RND(.)<0.2 THEN SACK=1 5100 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 5110 GOTO 5160 5120 IF RND(.)<0.1 THEN HOLD=1 5130 IF RND(.)<0.1 THEN ICEPT=1 5140 IF RND(.)<0.3 THEN SACK=1 5150 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.)) 5160 GOSUB 9460 5170 IF SACK=1 THEN GOSUB 7440: GOTO 5240 5180 IF PI=1 THEN GOSUB 6540: GOTO 5850 5190 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900 5200 IF SACK=1 THEN 5240 5210 IF COMP=1 THEN GOSUB 7490 5220 IF COMP<>1 THEN GOSUB 7500: GAIN=0 5230 IF YL+GAIN>99 THEN 7510 5240 IF GAIN<0 THEN GOSUB 6940 5250 IF GAIN=0 THEN GOSUB 6960 5260 IF GAIN>0 THEN GOSUB 6980 5270 IF PENALTY<>1 OR HOLD<>1 THEN 5310 5280 PRINT"...BUT THERE'S A PENALTY ON THE PLAY." 5290 IF HOLD=1 THEN GOSUB 7040: PENALTY=0 5300 IF PENALTY=1 THEN 7010 5310 GOTO 5850 5320 REM 9. SIDELINE PASS 5330 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0 5340 PRINT:PRINT"SIDELINE PASS..." 5350 IF RND(0)<0.5 THEN 3910 5360 GOTO 4390 5370 REM 10. PUNT 5380 PP=10*RND(1)+3*STR(QB,5): T=T+0.2 5390 PNT=35+INT(PP) 5400 P4(QB)=P4(QB)+1:QQ(QB)=QQ(QB)+PNT: P5(QB)=INT(10*QQ(QB)/P4(QB))/10 5410 YL=YL+PNT: YL=100-YL: YFIRST=10 5420 Z=QB: QB=MLB: MLB=Z: DOWN=1 5430 PRINT:PRINTPNT;" YARD PUNT..." 5440 IF YL<=0 THEN 5530 5450 IF RND(.)<0.1 THEN 5480 5460 PR=10*RND(.)+3*STR(QB,5) 5470 PR=INT(PR): GOTO 5490 5480 PR=INT(40*RND(.)*STR(QB,5)) 5490 IF PR<0 THEN PR=0 5500 IF PR=0 THEN PRINT"FAIR CATCH ";N$(QB): GOTO 5540 5510 YL=YL+PR 5520 PRINTPR;" YARD RETURN.": GOTO 5540 5530 PRINT"TOUCHBACK...": YL=20 5540 IF YL>99 THEN 7510 5550 PRINT: PRINT"FIRST DOWN ";N$(QB);". ";YFIRST;" YARDS TO GO." 5560 GOTO 6100 5570 REM 11. FIELD GOAL 5580 FGL=117-YL: GD=0: BL=0: S=STR(QB,5)-STR(MLB,5): T=T+0.1 5590 PRINTFGL;" YARD FIELD GOAL ATTEMPT...": GOSUB 6270 5600 IF FGL>50+10*S THEN 5800 5610 IF FGL>25+10*S THEN 5630 5620 IF RND(0)<0.9-0.25*FGL/35 THEN GD=1: GOTO 5640 5630 IF RND(0)<0.65-0.65*(FGL-35)/25 THEN GD=1 5640 IF GD<>1 THEN 5800 5650 S=STR(QB,5)-STR(MLB,5): IF S<0 AND RND(0)<0.1 THEN BL=1 5660 IF BL<>1 THEN 5690 5670 PRINT"FIELD GOAL ATTEMPT IS BLOCKED!": Z=QB: QB=MLB: MLB=Z: YL=100-YL 5680 R=INT(30*RND(0)):YL=YL+R:PRINTR;" YARD RETURN.":DOWN=1:YFIRST=10:GOTO5850 5690 PRINT"[147]" 5700 PRINTTAB(10);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 5710 PRINTTAB(10);"[165] [167]" 5720 PRINTTAB(10);"[165] [167]" 5730 PRINTTAB(10);"[165] IT'S GOOD!! [167]" 5740 PRINTTAB(10);"[165] [167]" 5750 PRINTTAB(10);"[165] [167]" 5760 PRINTTAB(10);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 5770 GOSUB 6280: PRINT"[147]" 5780 SC(QB)=SC(QB)+3: GOSUB 8770 5790 Z=QB: QB=MLB: MLB=Z: GOTO 1270 5800 PRINT:PRINT"FIELD GOAL ATTEMPT IS NO GOOD..." 5810 YL=100-YL: IF YL<20 THEN YL=20: Y=20 5820 Z=QB: QB=MLB: MLB=Z: A=QB: IF YL>50 THEN A=MLB 5830 GOTO 1760 5840 REM PLAY GAME 5850 YL=YL+GAIN: IF PEN=1 OR PI=1 OR HOLD=1 THEN 5900 5860 PEN=0: IF OP<5 THEN R1(QB)=R1(QB)+GAIN: GOTO 5890 5870 IF OP<10 THEN P1(QB)=P1(QB)+GAIN: PA(QB)=PA(QB)+1 5880 IF COMP=1 THEN PC(QB)=PC(QB)+1 5890 NY1(QB)=NY(QB)+GAIN 5900 IF YL>99 THEN 7510 5910 IF YL<=0 THEN 6340 5920 HT=0 5930 GOSUB 8080 5940 IF HT=1 THEN 1270 5950 YFIRST=YFIRST-GAIN 5960 IF YFIRST>0 THEN 5980 5970 DOWN=0: YFIRST=10: F1(QB)=F1(QB)+1 5980 DOWN=DOWN+1 5990 IF DOWN<5 THEN 6020 6000 Z=QB: QB=MLB: MLB=Z: YFIRST=10: YL=100-YL: DOWN=1 6010 PRINT:PRINT"BALL GOES OVER ON DOWNS..." 6020 ON DOWN GOTO 6030,6040,6050,6060 6030 D$="FIRST": GOTO 6070 6040 D$="SECOND": GOTO 6070 6050 D$="THIRD": GOTO 6070 6060 D$="FOURTH" 6070 IF YL+YFIRST<100 THEN 6090 6080 PRINT:PRINTD$;" DOWN, ";N$(QB);". GOAL TO GO.": GOTO 6100 6090 PRINT:PRINTD$;" DOWN, ";N$(QB);". "; YFIRST;" YARDS TO GO." 6100 IF YL<50 THEN Y=YL: NN=QB: GOTO 6120 6110 Y=100-YL: NN=MLB: 6120 PRINT"BALL IS ON ";N$(NN);" ";Y;" YARDLINE." 6130 TR=15*Q-T:SR=INT((TR-INT(TR))*60): IFQ<>2ORT<28 THEN 6150 6140 PRINTINT(TR);"MINUTES AND";SR;"SECONDS":PRINT"REMAINING IN HALF." 6150 IF Q<>4 OR T<58 THEN 6170 6160 PRINTINT(TR);"MINUTES AND";SR;"SECONDS":PRINT"REMAINING IN GAME." 6170 GAIN=0: GOTO 1800 6180 REM TITLE 6190 PRINT"[147]":PRINT"" 6200 PRINT"  [169] [223][169] [223]  [223][169] [223]  " 6210 PRINT"             " 6220 PRINT"           " 6230 PRINT"             " 6240 PRINT"  [146][223] [146][169] [223] [146][169]  [146][169]    " 6250 PRINT"[157][157][157][157][157]L.S." 6260 GOSUB6280: PRINT"[147]": RETURN 6270 FOR DELAY=1 TO 2500: NEXT: RETURN 6280 FOR DELAY=1 TO 5000: NEXT: RETURN 6290 FOR DELAY=1 TO 1500: NEXT: RETURN 6300 PRINT"< HIT ANY KEY TO CONTINUE >" 6310 GET X$ 6320 IF X$="" THEN 6310: WAIT 6330 RETURN 6340 REM SAFETY 6350 GOSUB 6290: PRINT"[147]" 6360 PRINTTAB(13);"[207][163][163][163][163][163][163][163][163][163][163][163][163][208]" 6370 PRINTTAB(13);"[165] [167]" 6380 PRINTTAB(13);"[165] SAFETY!! [167]" 6390 PRINTTAB(13);"[165] [167]" 6400 PRINTTAB(13);"[204][164][164][164][164][164][164][164][164][164][164][164][164][186]" 6410 GOSUB 6280: PRINT"[147]" 6420 SC(MLB)=SC(MLB)+2: GOSUB 8770 6430 Z=QB: QB=MLB: MLB=Z 6440 PRINT" *** FREE KICK ***": GOTO 1350 6450 REM FUMBLE 6460 K=INT(2*RND(.))+1: PEN=0: FUMB=0 6470 PRINT"FUMBLE ON THE PLAY...": F3(QB)=F3(QB)+1: GOSUB 6270 6480 PRINT"RECOVERED BY ";N$(K);"." 6490 IF K=QB THEN 6530 6500 Z=QB: QB=MLB: MLB=Z: YFIRST=10: DOWN=0: YL=YL+GAIN: YL=100-YL: GAIN=0 6510 IF YL<1 THENPRINT"TOUCHBACK...": YL=20 6520 F2(MLB)=F2(MLB)+1 6530 RETURN 6540 REM PASS INTERFERENCE 6550 K=5 6560 PL=INT((OP-5)*12*RND(.)+5*RND(.)): IF PL=15 THEN PL=16 6570 IF YL+PL>110 THEN PL=110-YL 6580 IF PL=5 THEN PL=6 6590 IF PL=0 THEN PL=2 6600 PRINTPL;" YARD PASS ATTEMPT..." 6610 PRINT"PASS INTERFERENCE ON ";N$(MLB);".":PRINT 6620 GOSUB 7120 6630 IF P$="Y" THEN 6660 6640 GAIN=0: IF COMP=1 THEN GAIN=PL 6650 GOTO 6680 6660 IF OYL+PL>100 AND LEFT$(P$,1)<>"N" THEN YL=99 6670 DOWN=0: YFIRST=10 6680 RETURN 6690 REM INTERCEPTED 6700 I1(MLB)=I1(MLB)+1 6710 PL=INT((OP-5)*20*RND(.))+INT(5*RND(.)): ICEPT=0 6720 IF PL+YL>110 THEN PL=110-YL 6730 PRINTPL;" YARD PASS INTERCEPTED!!" 6740 Z=QB: QB=MLB: MLB=Z: YL=100-YL 6750 R=INT(20*RND(.)) 6760 PRINTR;" YARD RETURN." 6770 YL=YL-PL+R: YFIRST=10: DOWN=0: GAIN=0: COMP=0 6780 IF YL<1 THEN PRINT"TOUCHBACK...":PRINT: YL=20 6790 RETURN 6800 REM TIMEOUT 6810 IF OP=13 THEN T2=QB 6820 IF DP=7 THEN T2=MLB 6830 PRINT"TIMEOUT ";N$(T2);"..." 6840 IF T1(T2)>0 THEN 6890 6850 T1(T2)=0 6860 PRINTN$(T2);" HAS NO TIMEOUTS LEFT!!" 6870 PRINT"NOW 80,000 FANS KNOW YOU CAN'T COUNT!!":PRINT 6880 GOTO 1800 6890 T=TLAST+0.1: T1(T2)=T1(T2)-1: TP(QB)=TP(QB)-DM+0.1 6900 IF T2=2 THEN 6920 6910 GOSUB 6300 6920 GOTO 1800 6930 REM GAIN/LOSS OUTPUT 6940 IF YL+GAIN<1 THEN GAIN=-YL 6950 PRINTABS(GAIN);" YARD LOSS.": RETURN 6960 PRINT"NO GAIN.": RETURN 6970 PRINT"NO GAIN.": RETURN 6980 IF YL+GAIN>99 THEN GAIN=100-YL 6990 PRINTGAIN;" YARD GAIN.": RETURN 7000 PRINTABS(GAIN);" YARD LOSS." 7010 REM PENALTY 7020 K=INT(4*RND(.))+1 7030 ON K GOTO 7040,7060,7080,7100 7040 PRINT"HOLDING PENALTY ON ";N$(QB);".": K=1 7050 PL=-10: GOTO 7120 7060 PRINT"ILLEGAL PROCEDURE ON ";N$(QB);"." 7070 PL=-5: GOTO 7120 7080 PRINT"ROUGH PLAY ON ";N$(MLB);"." 7090 PL=15: GOTO 7120 7100 PRINT"OFFSIDE ON ";N$(MLB);"." 7110 PL=5 7120 T=T+0.1: IF PL<0 THEN Z=MLB 7130 IF PL>0 THEN Z=QB 7140 OYL=YL: IF Z=1 THEN 7300 7150 ON K GOTO 7160,7200,7240,7260,7280 7160 IF YL+GAIN>99 THEN P$="Y": GOTO 7320 7170 IF YL+GAIN<1 THEN P$="N": GOTO 7320 7180 IF (GAIN99 THEN P$="Y": GOTO 7320 7210 IF GAINYFIRST AND GAIN>PL OR YL+GAIN>99 THEN P$="N": GOTO 7320 7270 P$="Y": GOTO 7320 7280 IF GAIN>PL AND GAIN>=YFIRST THEN P$="N" 7290 P$="Y": GOTO 7320 7300 PRINT"DOES ";N$(Z);" ACCEPT PENALTY"; 7310 INPUT P$ 7320 IF LEFT$(P$,1)="N" THEN 7400 7330 PRINT"PENALTY ACCEPTED...": IF PL=15 THEN 7350 7340 DOWN=DOWN-1: YFIRST=YFIRST-PL: YL=YL+PL: GAIN=0: GOTO 7370 7350 IF YL+GAIN+PL>99 THEN YL=YL+GAIN+INT((100-YL-GAIN)/2) 7360 GAIN=GAIN+PL: YL=YL+GAIN: DOWN=0: YFIRST=10: GAIN=0 7370 IF Z=MLB THEN ZZ=QB 7380 IF Z=QB THEN ZZ=MLB 7390 P2(ZZ)=P2(ZZ)+1: P3(ZZ)=P3(ZZ)+ABS(PL): GOTO 7410 7400 PRINT"PENALTY DECLINED...": GOTO 5850 7410 IF YL<1 THEN YL=INT(OYL/2): YFIRST=YFIRST+OYL-YL 7420 IF YL>99 THEN YL=OYL+INT((100-OYL)/2): YFIRST=YFIRST+OYL-YL 7430 RETURN 7440 REM SACK 7450 LOSS=INT(20*RND(0))+1: SACK=0 7460 PRINT"QUARTERBACK IS SACKED FOR A ";LOSS 7470 PRINT"YARD LOSS!" 7480 GAIN=-LOSS: GOTO 5850 7490 PRINT"PASS COMPLETE...": RETURN 7500 PRINT"PASS INCOMPLETE...": RETURN 7510 GOSUB 6290: PRINT"[147]":PRINT"" 7520 PRINTTAB(9);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 7530 PRINTTAB(9);"[180] [167]" 7540 PRINTTAB(9);"[180] [167]" 7550 PRINTTAB(9);"[180] TOUCHDOWN!!! [167]" 7560 PRINTTAB(9);"[180] [167]" 7570 PRINTTAB(9);"[180] [167]" 7580 PRINTTAB(9);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 7590 SC(QB)=SC(QB)+7 7600 Z=QB: QB=MLB: MLB=Z 7610 GOSUB6280: GOSUB 8770: GOTO 1270 7620 REM 12. STATUS 7630 PRINT"[147]STATUS[146]":PRINT 7640 IF E=1 THEN Q=4 7650 PRINT"QUARTER: ";Q:PRINT:PRINT 7660 PRINT"SCORE:" 7670 FOR I=1 TO 2 7680 PRINT N$(I);TAB(14); SC(I) 7690 NEXT I 7700 PRINT:PRINT 7710 TT=(15*Q)-T 7720 SEC=INT((TT-INT(TT))*60) 7730 IF E=1 THEN TT=0: SEC=0 7740 PRINT"TIME REMAINING IN QUARTER:" 7750 PRINTINT(TT);" MINUTES AND ";SEC;" SECONDS" 7760 PRINT:PRINT 7770 PRINT"TIMEOUTS REMAINING:" 7780 FOR I=1 TO 2 7790 PRINTN$(I);TAB(14);T1(I): NEXT I: IF HT=1 THEN 7860 7800 IF E=1 THEN 7860 7810 DN=DOWN: IF DOWN=0 THEN DN=1 7820 PRINT:PRINT:PRINT"DOWN: ";DN 7830 PRINT"YARDS TO GO ";YFIRST 7840 QK=QB: IF YL>50 THEN QK=MLB: Y=100-YL 7850 PRINT"BALL ON: ";N$(QK);Y;"YARD LINE": GOSUB 6280 7860 PRINT"DO YOU WANT TO SEE GAME STATISTICS"; 7870 INPUT S$ 7880 IF LEFT$(S$,1)<>"N" THEN GOSUB 9110 7890 GOSUB 6300: IF T=15 OR T=30 OR T=45 OR T=60 THEN RETURN 7900 IF DP=8 THEN RETURN 7910 GOTO 1800 7920 PRINT"[147]ARE YOU SURE YOU WANT TO QUIT," 7930 PRINT"YOU COWARD"; 7940 INPUT Q$ 7950 IF LEFT$(Q$,1)="Y" THEN 7970 7960 GOTO 1800 7970 PRINT"[147]" 7980 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 7990 PRINTTAB(7);"[165] [167]" 8000 PRINTTAB(7);"[165] [167]" 8010 PRINTTAB(7);"[165] *** CHICKEN *** [167]" 8020 PRINTTAB(7);"[165] [167]" 8030 PRINTTAB(7);"[165] [167]" 8040 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 8050 GOSUB 6280 8060 PRINT"[147]" 8070 GOTO 9080 8080 REM TIME COUNT 8090 IF OP=1 OR OP=2 THEN 8150 8100 IF OP=3 AND RND(.)<0.5 THEN 8150 8110 IF OP=4 AND RND(.)<0.3 THEN 8150 8120 IF COMP=0 THEN 8170 8130 IF OP=9 AND RND(.)<0.8 THEN 8170 8140 IF RND(.)<0.3 THEN 8170 8150 TLAST=T 8160 T=T+0.5: TP(QB)=TP(QB)+0.5: DM=0.5: GOTO 8190 8170 TLAST=T 8180 T=T+0.15: TP(QB)=TP(QB)+0.15: DM=0.15: IF OT=1 THEN RETURN 8190 IF T>=58 AND WW=0 THEN GOSUB 8590 8200 IF T>=28 AND W=0 THEN GOSUB 8590 8210 IF T<=15*Q THEN 8580 8220 Q=Q+1 8230 ON Q-1 GOTO 8240,8320,8430,8500 8240 GOSUB 6270 8250 PRINT"[147]" 8260 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 8270 PRINTTAB(7);"[165] [167]" 8280 PRINTTAB(7);"[165] END OF FIRST QUARTER [167]" 8290 PRINTTAB(7);"[165] [167]" 8300 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]": GOSUB 8700 8310 GOSUB 6280: T=15: GOSUB 8830: GOSUB 7620: GOTO8580 8320 GOSUB 6270: PRINT"[147]" 8330 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 8340 PRINTTAB(7);"[165] [167]" 8350 PRINTTAB(7);"[165] END OF FIRST HALF [167]" 8360 PRINTTAB(7);"[165] [167]" 8370 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 8380 GOSUB 6280: T=30: GOSUB 8830: HT=1 8390 QB=SX: T1(1)=3: T1(2)=3: GOSUB 7620 8400 IF QB<>2 THEN MLB=2: GOTO 8420 8410 IF QB<>1 THEN MLB=1 8420 GOSUB 9290: RETURN 8430 GOSUB 6270: PRINT"[147]" 8440 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 8450 PRINTTAB(7);"[165] [167]" 8460 PRINTTAB(7);"[165] END OF THIRD QUARTER [167]" 8470 PRINTTAB(7);"[165] [167]" 8480 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 8490 GOSUB 6280: T=45: GOSUB 8830: GOSUB 7620: GOTO8580 8500 GOSUB 6270 8510 PRINT"[147]" 8520 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 8530 PRINTTAB(7);"[165] [167]" 8540 PRINTTAB(7);"[165] END OF GAME!!! [167]" 8550 PRINTTAB(7);"[165] [167]" 8560 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 8570 GOSUB 6280:PRINT"[147]":T=60:GOSUB8830:E=1:GOSUB 7620: GOTO 8890 8580 RETURN 8590 REM 2 MINUTE WARNING 8600 IF T<30 THEN W=1 8610 IF T>30 THEN WW=1 8620 GOSUB 6270: PRINT"[147]" 8630 PRINTTAB(8);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]" 8640 PRINTTAB(8);"[165] [167]" 8650 PRINTTAB(8);"[165] TWO MINUTE WARNING [167]" 8660 PRINTTAB(8);"[165] [167]" 8670 PRINTTAB(8);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]" 8680 GOSUB 6280: PRINT"[147]" 8690 RETURN 8700 REM COMPUTER TEAM ADJUSTMENTS BETWEEN FIRST AND SECOND QUARTERS 8710 IF SC(1)-SC(2)<=0 THEN 8760 8720 STR(2,3)=STR(1,1): STR(2,4)=STR(1,2) 8730 STR(2,1)=5*RND(.)+WF: STR(2,2)=5*RND(.)+WF: STR(2,5)=4*RND(.)+WF 8740 FOR K=1 TO 5 8750 IF STR(2,K)<1 THEN STR(2,K)=1: NEXT K 8760 RETURN 8770 REM DISPLAY SCORE 8780 PRINT"[147]";TAB(8);N$(1);TAB(24);SC(1):PRINT 8790 PRINTTAB(8);N$(2);TAB(24);SC(2) 8800 GOSUB 6280 8810 PRINT"[147]" 8820 RETURN 8830 REM TIME OF POSSESSION CORRECTION 8840 C=T-TP(1)-TP(2) 8850 A=TP(1)/(TP(1)+TP(2)): B=1-A 8860 TP(1)=TP(1)+A*C 8870 TP(2)=TP(2)+B*C 8880 RETURN 8890 PRINT"[147]": OT=0 8900 IF SC(1)-SC(2)>0 THEN W=1: GOTO 8930 8910 IF SC(1)-SC(2)<0 THEN W=2: GOTO 8930 8920 GOTO 9360 8930 PRINT"*** ";N$(W);" WON!! ***" 8940 IF L$="W" THEN AZ=1 8950 IF L$="E" THEN AZ=2 8960 IF L$="M" THEN AZ=3 8970 IF L$="H" THEN AZ=4 8980 IF W=2 THEN 9080 8990 ON AZ GOTO 9000,9020,9040,9060 9000 PRINT"NOT BAD FOR A WIMP!! REAL HEROS USE" 9010 PRINT"THE 'MEDIUM' AND 'HARD' LEVELS!!": END 9020 PRINT"BIG DEAL! SO YOU WON! REAL HEROS USE" 9030 PRINT"THE 'MEDIUM' AND 'HARD' LEVELS!!": END 9040 PRINT"NOT BAD FOR AN AMATEUR! LET'S SEE" 9050 PRINT"YOU DO IT AGAIN ON THE HARD LEVEL!!": END 9060 PRINT"YOU'RE A REAL HERO (AND LUCKY TOO)!" 9070 PRINT"BET YOU CAN'T DO IT AGAIN!": END 9080 PRINT"YOU COULDN'T EVEN BEAT THE COMPUTER!" 9090 PRINT"HA HA HA HA HA HA HA HA HA HA HA!!!" 9100 END 9110 REM STATISTICS 9120 PRINT"[147]STATISTICS:[146]":PRINT 9130 PRINT"STATISIC";TAB(15);N$(1);TAB(29);N$(2):PRINT 9140 PRINT"FIRST DOWNS";TAB(15);F1(1);TAB(29);F1(2) 9150 PRINT"RUSHING";TAB(15);R1(1);TAB(29);R1(2) 9160 PRINT"PASSING";TAB(15);P1(1);TAB(29);P1(2) 9170 PRINT"NET YARDS";TAB(15);NY1(1);TAB(29);NY1(2) 9180 PRINT"PASSES";TAB(15);PC(1);"/";PA(1);TAB(29);PC(2);"/";PA(2) 9190 PRINT"INTERCEPTED BY";TAB(15);I1(1);TAB(29);I1(2) 9200 PRINT"PUNTS";TAB(15);P4(1);"-";P5(1); 9210 PRINTTAB(29);P4(2);"-";P5(2) 9220 PRINT"FUMBLES/LOST";TAB(15);F3(1);"/";F2(1);TAB(29);F3(2);"/";F2(2) 9230 PRINT"PENALTIES/";TAB(15);P2(1);"-";P3(1);TAB(29);P2(2);"-";P3(2) 9240 PRINT" YARDS" 9250 PRINT"TIME OF";TAB(15);INT((TP(1)+0.05)*10)/10; 9260 PRINTTAB(29);INT((TP(2)+0.05)*10)/10 9270 PRINT"POSSESSION" 9280 RETURN 9290 REM COMPUTER TEAM MAKES ADJUSTMENTS AT HALFTIME 9300 IF SC(1)-SC(2)<0 THEN 9350 9310 FOR I=1 TO 5 9320 STR(2,I)=3.5+WF 9330 IF STR(2,I)29.5 THEN PENALTY=0: PI=0: HOLD=0 9480 IF Q=4 AND T>59.5 THEN PENALTY=0: PI=0: HOLD=0 9490 RETURN 9500 REM COMPUTER OFFENSIVE STRATEGY 9510 R=STR(2,1)-STR(1,3): B=0 9520 P=STR(2,2)-STR(1,4) 9530 IF OT=1 THEN 9570 9540 IF DOWN=4 AND T<58 THEN 9570 9550 IF Q=2 AND T>27 AND SC(1)-SC(2)>0 THEN 9770 9560 IF Q=4 AND T>57 AND SC(1)-SC(2)>0 THEN 9770 9570 IF (R>0 AND P>0) OR (R<0 AND P<0) OR (R=0 AND P=0) THEN B=1 9580 ON DOWN GOTO 9590,9590,9660,9710 9590 IF YFIRST<3 THEN GOSUB 10020: GOTO 1840 9600 IF B<>1 THEN 9620 9610 IF RND(.)<0.5 THEN R=1: GOTO 9620 9620 IF R>0 THEN GOSUB 9840: GOTO 9640 9630 GOSUB 9890 9640 GOTO 1840 9650 REM COMPUTER OFFENCE - THIRD DOWN 9660 IF YFIRST>9 THEN GOSUB 9990: GOTO 9700 9670 IF YFIRST>3 THEN GOSUB 9890: GOTO 9700 9680 IF R>0 OR YFIRST=1 THEN GOSUB 10020: GOTO 9700 9690 GOSUB 9960 9700 GOTO 1840 9710 REM COMPUTER OFFENCE - FOURTH DOWN 9720 IF YL>70-2*STR(QB,5) THEN OP=11: GOTO 1840 9730 IF YFIRST>1 THEN OP=10: GOTO 1840 9740 IF YL<50 THEN OP=10: GOTO 1840 9750 OP=1: GOTO 1840 9760 REM 2 MINUTE OFFENCE 9770 IF T-TLAST=0.5 AND T1(2)>0 THEN OP=13: GOTO 1840 9780 IF Q=2 AND T>29.5 AND YL>=65 THEN OP=11: GOTO 1840 9790 IF SC(1)-SC(2)<4 AND T>59.5 AND YL>55 THEN OP=11: GOTO 1840 9800 IF Q=2 AND DOWN=4 THEN 9710 9810 IF (DOWN=1 OR DOWN=2) AND RND(.)<0.2 THEN OP=8: GOTO 1840 9820 OP=9: GOTO 1840 9830 REM CHOOSE OFFENSIVE PLAY (MAINLY RUN) 9840 IF RND(.)<0.7 THEN GOSUB 9930: GOTO 9870 9850 IF RND(.)<0.8 THEN GOSUB 9960: GOTO 9870 9860 GOSUB 9990 9870 RETURN 9880 REM CHOOSE OFFENSIVE PLAY (MAINLY SHORT PASS) 9890 IF RND(.)<0.7 THEN GOSUB 9960: GOTO 9920 9900 IF RND(.)<0.8 THEN GOSUB 9930: GOTO 9920 9910 GOSUB 9990 9920 RETURN 9930 REM CHOOSE RUNNING PLAY 9940 OP=INT(3*RND(.))+1 9950 RETURN 9960 REM CHOOSE SHORT PASS PLAY 9970 OP=INT(3*RND(.))+5 9980 RETURN 9990 REM CHOOSE LONG PASS PLAY 10000 OP=INT(2*RND(.))+7 10010 RETURN 10020 REM SHORT YARDAGE OFFENCE 10030 IF RND(.)<0.8 THEN OP=1: GOTO 10050 10040 OP=8 10050 RETURN 10060 REM COMPUTER DEFENCE 10070 SS=SC(1)-SC(2): IF OT=1 THEN 10100 10080 IF Q=2 AND T>28 THEN 10510 10090 IF Q=4 AND T>58 THEN 10510 10100 R=STR(1,1)-STR(2,3): B=0 10110 P=STR(1,2)-STR(2,4) 10120 IF (R>0 AND P>0) OR (R<0 AND P<0) OR (R=0 AND P=0) THEN B=1 10130 ON DOWN GOTO 10150,10190,10240,10280 10140 REM FIRST DOWN DEFENCE 10150 IF B=1 THEN GOSUB 10370: GOTO 10180 10160 IF R>0 THEN GOSUB 10340: GOTO 10180 10170 GOSUB 10310 10180 GOTO 2190 10190 REM SECOND DOWN DEFENCE 10200 IF YFIRST>9 THEN GOSUB 10310: GOTO 10230 10210 IF YFIRST>3 THEN GOSUB 10370: GOTO 10230 10220 GOSUB 10340 10230 GOTO 2190 10240 REM THIRD DOWN DEFENCE 10250 IF YFIRST>4 THEN GOSUB 10430: GOTO 10270 10260 GOSUB 10470 10270 GOTO 2190 10280 REM FOURTH DOWN DEFENCE 10290 IF YFIRST>4 THEN GOSUB 10430: GOTO 2210 10300 GOSUB 10470: GOTO 2190 10310 REM STOP PASSING TEAM 10320 IF RND(.)<0.5 THEN GOSUB 10400: RETURN 10330 GOSUB 10430: RETURN 10340 REM STOP RUNNING TEAM 10350 IF RND(.)<0.5 THEN GOSUB 10400: RETURN 10360 GOSUB 10470: RETURN 10370 REM STOP PASSING/RUNNING TEAM 10380 IF RND(.)<0.5 THEN GOSUB 10340: RETURN 10390 GOSUB 10310: RETURN 10400 REM STANDARD DEFENCE 10410 IF RND(.)<0.8 THEN DP=1: RETURN 10420 DP=5: RETURN 10430 REM PASS DEFENCE 10440 IF RND(.)<0.7 THEN DP=3: RETURN 10450 IF RND(.)<0.5 THEN DP=5: RETURN 10460 DP=6: RETURN 10470 REM RUN DEFENCE 10480 IF RND(.)<0.8 THEN DP=2: RETURN 10490 IF RND(.)<0.5 THEN DP=5: RETURN 10500 DP=6: RETURN 10510 REM 2 MINUTE COMPUTER DEFENCE 10520 IF SS>0 AND Q=4 AND T-TLAST=0.5 AND T1(2)>0 THEN DP=7: GOTO 2190 10530 IF SS>=0 THEN 10100 10540 IF YL>90 AND RND(.)<0.8 THEN DP=6: GOTO 2190 10550 DP=3: GOTO 2190